AWK স্ক্রিপ্টে আর্গুমেন্ট গ্রহণ এবং প্রক্রিয়াকরণ করার ক্ষমতা রয়েছে, যা স্ক্রিপ্টের কার্যকারিতা এবং ব্যবহারযোগ্যতা বৃদ্ধি করে। এটি ব্যবহারকারীদের স্ক্রিপ্ট চালানোর সময় কাস্টম ইনপুট প্রদান করতে সহায়তা করে।
AWK কমান্ড লাইন আর্গুমেন্ট গ্রহণ করতে পারে এবং স্ক্রিপ্টে সেই আর্গুমেন্টগুলি ব্যবহার করা যায়। AWK এ ARGC
এবং ARGV
নামের বিল্ট-ইন ভেরিয়েবল রয়েছে, যা আর্গুমেন্ট সংখ্যা এবং আর্গুমেন্ট লিস্ট নির্দেশ করে।
ARGC
: মোট আর্গুমেন্টের সংখ্যা নির্দেশ করে।ARGV
: আর্গুমেন্টের অ্যারের মধ্যে প্রতিটি আর্গুমেন্ট রাখে।awk 'BEGIN {
for (i = 0; i < ARGC; i++) {
print "Argument", i, ":", ARGV[i]
}
}'
এখানে, ARGV
অ্যারের প্রতিটি আর্গুমেন্ট প্রিন্ট হবে এবং ARGC
মোট আর্গুমেন্টের সংখ্যা নির্দেশ করবে। যদি এই স্ক্রিপ্ট awk -f script.awk file1 file2
কমান্ডের মাধ্যমে চালানো হয়, তাহলে আউটপুট হবে:
Argument 0 : awk
Argument 1 : script.awk
Argument 2 : file1
Argument 3 : file2
AWK স্ক্রিপ্টের মধ্যে -v
অপশন ব্যবহার করে কাস্টম ভেরিয়েবল তৈরি এবং সেট করা যায়, যা স্ক্রিপ্টে ব্যবহার করা যাবে।
awk -v name="John" 'BEGIN {print "Hello, " name}'
এখানে, -v
অপশন ব্যবহার করে name
নামক ভেরিয়েবল সেট করা হয়েছে এবং BEGIN
ব্লকে সেটি প্রিন্ট করা হয়েছে।
AWK স্ক্রিপ্টে আর্গুমেন্টের মাধ্যমে ফাইল ফিল্টার করাও সম্ভব।
awk 'FILENAME == ARGV[1] {print "Processing:", FILENAME; print $0}' file1.txt file2.txt
এখানে, FILENAME == ARGV[1]
শর্তের মাধ্যমে প্রথম ফাইল file1.txt
প্রক্রিয়া করা হবে এবং প্রতিটি লাইন প্রিন্ট হবে।
AWK স্ক্রিপ্টে কমান্ড লাইন আর্গুমেন্ট সরানো বা পরিবর্তন করা সম্ভব।
awk 'BEGIN {delete ARGV[1]} {print $0}' file1.txt file2.txt
এখানে, delete ARGV[1]
ব্যবহার করে প্রথম আর্গুমেন্ট মুছে ফেলা হয়েছে। এর ফলে, AWK শুধু file2.txt
প্রক্রিয়া করবে।
AWK স্ক্রিপ্টে আর্গুমেন্ট গ্রহণ এবং প্রসেসিং করা স্ক্রিপ্টকে আরও কার্যকর এবং ডায়নামিক করে তোলে। ARGC
এবং ARGV
ব্যবহার করে আর্গুমেন্ট সংখ্যা এবং মান নিয়ন্ত্রণ করা যায়। -v
অপশন ব্যবহার করে কাস্টম ভেরিয়েবল তৈরি এবং সেট করা যায়। AWK স্ক্রিপ্টে এই ক্ষমতা স্ক্রিপ্টের ফ্লেক্সিবিলিটি এবং ব্যবহারযোগ্যতা বাড়ায়।
common.read_more